﻿using System.Text.Json.Serialization;

namespace RndMaterialDisposalService.Models.ResponseModel
{
    /// <summary>
    /// 
    /// </summary>
    public class ScrapReportDataResp
    {
        /// <summary>
        /// 
        /// </summary>
        [JsonPropertyName("key")]
        [Ganss.Excel.Ignore]
        public Guid? SysId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(1,"单号")]
        public string? ApplicationNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(2,"流程实例ID")]
        public string? ProcInstId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Ignore]
        public string? ApplicantEmployeeNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(3,"申请人")]
        public string? ApplicantName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(4,"当前状态")]
        public string? CurrentStatus { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Ignore]
        public DateTime? CreatedDate { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(5, "申请日期")]
        public string? DcCreatedDate => CreatedDate?.ToString("yyyy-MM-dd");

        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(6,"当前处理人")]
        public string? CurrentHandler { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(7,"公司段")]
        public string? CompanySegment { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(8,"一级部门")]
        public string? LargeSectors { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(9,"二级部门")]
        public string? SmallSector { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(10,"部门编码")]
        public string? DepartmentCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(11,"资产编号")]
        public string? AssetNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(12,"资产名称")]
        public string? AssetDesription { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Ignore]
        public string? AssetOwnerName { get; set; }

        [Ganss.Excel.Column(13,"使用人及工号")]
        public string? DcAssetOwnerName => $"{OwnerEmployeeNumber} {AssetOwnerName}";

        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Ignore]
        public string? OwnerEmployeeNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(14,"品质状态")]
        public string? QualityStatus { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Ignore]
        public string? GetDate { get; set; }

        [Ganss.Excel.Column(15, "启用日期")]
        public string? DcGetDate => Convert.ToDateTime(GetDate).ToString("yyyy-MM-dd");

        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(16,"原值")]
        public string? AssetCost { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(17,"累计折旧")]
        public string? TotalDeprecition { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(18,"净值")]
        public string? NetWorth { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(19,"资产性质")]
        public string? AssetQuality { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Ignore]
        public string? PCAssetRetirementStandard { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(20,"清退原因")]
        public string? ReasonForScrapping { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Ignore]
        public string? LogisticsApproverId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(21,"逆向物流接收人")]
        public string? LogisticsApprover { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(22,"部门名称")]
        public string? DeptName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Ganss.Excel.Column(23,"部门代码")]
        public string? DeptNumber { get; set; }
        [Ganss.Excel.Column(24, "一级资产管理员")]
        public string? FirstLevelAssetManager { get; set; }

    }
}
